# Maintainer:  William Giokas <1007380@gmail.com>
# Contributor: Christoph Vigano <mail at cvigano dot de>
# Contributor: Marcin Karpezo <sirmacik at gmail dot com>
# Contributor: Michael Rosset <mrosset@uarch.org>
# Based on [extra]'s git

pkgname=git-git
_pkgname=git
epoch=1
pkgver=2.5.0.rc2.rv34.gfbdeabf
pkgrel=1
pkgdesc="The fast distributed version control system - Git version"
arch=('i686' 'x86_64')
url="http://git-scm.com/"
license=('GPL2')
depends=('curl' 'expat>=2.0' 'perl-error' 'perl>=5.14.0' 'openssl' 'pcre' 'zlib')
makedepends=('git' 'asciidoc' 'xmlto' 'docbook-xsl' 'python2')
optdepends=('tk: gitk and git gui'
            'perl-libwww: git svn'
            'perl-term-readkey: git svn'
            'perl-mime-tools: git send-email'
            'perl-net-smtp-ssl: git send-email TLS support'
            'perl-authen-sasl: git send-email TLS support'
            'python2: various helper scripts'
            'subversion: git svn'
            'cvsps: git cvsimport'
            'git-remote-hg: support for using git with mercurial repos')
provides=('git')
conflicts=('git')
install=git.install
source=('git-daemon@.service'
        'git-daemon.socket'
        'git+https://git.kernel.org/pub/scm/git/git.git#branch=master')

md5sums=('042524f942785772d7bd52a1f02fe5ae'
         'f67869315c2cc112e076f0c73f248002'
         'SKIP')
sha512sums=('ad7f81859d5a3b9b93b48ab1fe317919940d666439e583984bf5287b6c62f570c192b990f4a004a5d0a2d983ed5e63aba2ccc95a42e05e1b93242fdbce2d07f5'
            'bd4aff421e547044a2a91b8a77c86ce14f05321008aa2e28aab35154b297803ca716ccba3e0fca3805033d4adb455adb41086ceeca98200b8006582c13f2c7d3'
            'SKIP')


pkgver() {
  cd "$srcdir/$_pkgname"
  git describe --tags --long | sed -E 's/([^-]+-g)/rv\1/;s/-/./g;s/^v//g'
}

build() {
  cd "$srcdir/"$_pkgname

  export PYTHON_PATH='/usr/bin/python2'
  make prefix=/usr gitexecdir=/usr/lib/git-core \
    CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
    USE_LIBPCRE=1 \
    NO_CROSS_DIRECTORY_HARDLINKS=1 \
    all man
}

check() {
  export PYTHON_PATH='/usr/bin/python2'
  cd "$srcdir/$_pkgname"
  local jobs
  jobs=$(expr "$MAKEFLAGS" : '.*\(-j *[0-9]*\).*')
  mkdir -p /dev/shm/git-test
  # We used to use this, but silly git regressions:
  #GIT_TEST_OPTS="--root=/dev/shm/" \
  # http://comments.gmane.org/gmane.comp.version-control.git/202020
  make prefix=/usr gitexecdir=/usr/lib/git-core \
    CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
    USE_LIBPCRE=1 \
    NO_CROSS_DIRECTORY_HARDLINKS=1 \
    NO_SVN_TESTS=y \
    DEFAULT_TEST_TARGET=prove \
    GIT_PROVE_OPTS="$jobs -Q" \
    GIT_TEST_OPTS="--root=/dev/shm/git-test" \
    test
}

package() {
  export PYTHON_PATH='/usr/bin/python2'

  cd "$srcdir/"$_pkgname
  make prefix=/usr gitexecdir=/usr/lib/git-core \
    CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
    USE_LIBPCRE=1 \
    NO_CROSS_DIRECTORY_HARDLINKS=1 \
    INSTALLDIRS=vendor DESTDIR="$pkgdir" install install-man

  # bash completion
  mkdir -p "$pkgdir"/usr/share/bash-completion/completions/
  install -m644 ./contrib/completion/git-completion.bash "$pkgdir"/usr/share/bash-completion/completions/git
  # fancy git prompt
  mkdir -p "$pkgdir"/usr/share/git/
  install -m644 ./contrib/completion/git-prompt.sh "$pkgdir"/usr/share/git/git-prompt.sh
  # more contrib stuff
  cp -a ./contrib/* "$pkgdir"/usr/share/git/
  # scripts are for python 2.x
  sed -i 's|#![[:space:]]*/usr/bin/env python|#!/usr/bin/env python2|' \
    $(find "$pkgdir" -name '*.py') \
    "$pkgdir"/usr/share/git/gitview/gitview \
    "$pkgdir"/usr/lib/git-core/git-p4 \
    "$pkgdir"/usr/share/git/remote-helpers/git-remote-bzr \
    "$pkgdir"/usr/share/git/remote-helpers/git-remote-hg
  sed -i 's|#![[:space:]]*/usr/bin/python|#!/usr/bin/python2|' \
    "$pkgdir"/usr/share/git/svn-fe/svnrdump_sim.py

  # remove perllocal.pod, .packlist, and empty directories.
  rm -rf "$pkgdir"/usr/lib/perl5

  # git daemon
  install -D -m644 "$srcdir"/git-daemon@.service "$pkgdir"/usr/lib/systemd/system/git-daemon@.service
  install -D -m644 "$srcdir"/git-daemon.socket "$pkgdir"/usr/lib/systemd/system/git-daemon.socket
}
